草庐IT

android - 检查工作 AsyncTask

全部标签

ruby - "(1..4).inject(&:+)"在 Ruby 中如何工作

我发现这段Ruby代码非常有趣(1..4).inject(&:+)好的,我知道inject是做什么的,我知道这段代码基本上等同于(1..4).inject(0){|a,n|a+n}但它究竟是如何工作的呢?为什么&:+和写block{|a,n|是一样的a+n}?为什么不需要初始值?我同意初始值为0,但是(1..4).inject(&:*)也可以,并且初始值必须为1... 最佳答案 来自Rubydocumentation:Ifyouspecifyasymbolinstead,theneachelementinthecollectionw

ruby-on-rails - 您使用 Rails 进行版本控制和部署的工作流程是什么?

尤其是在考虑新的Rails项目时,您的版本控制和部署工作流程是什么样的?你使用什么工具?我对Mac、*nix和Windows工作机器的答案很感兴趣。假设一个*nix服务器。如果需要,我会为清楚起见进行编辑。 最佳答案 使用预装的插件和卡住的gem创建我的个人Rails2.1.1模板的副本。更改数据库密码、session密码/名称和deploy.rb。根据需要在GitHub上创建私有(private)或公共(public)存储库。将空的Rails项目推送到GitHub。SSH到服务器并配置apache(从旧项目复制虚拟主机文件和mon

ruby - 如何阻止上帝留下陈旧的 Resque 工作流程?

我正在尝试了解如何监控travis-ci的resqueworker|与god以这样一种方式停止resquewatchviagod不会留下陈旧的工作进程。在下文中,我谈论的是工作进程,而不是fork作业子进程(即队列一直是空的)。当我像这样手动启动resqueworker时:$QUEUE=buildsrakeresque:work我会得到一个进程:$psx|grepresque7041s001S+0:05.04resque-1.13.0:Waitingforbuilds一旦我停止工作任务,这个过程就会消失。但是当我开始与上帝(exactconfigurationishere,基本上与re

ruby - 内省(introspection)模块类时 "#map(&proc)"习惯用法如何工作?

呈现成语我找到了一个interestingbutunexplainedalternative到一个公认的答案。该代码在REPL中显然有效。例如:moduleFooclassBardefbazendendendFoo.constants.map(&Foo.method(:const_get)).grep(Class)=>[Foo::Bar]但是,我并不完全理解这里使用的成语。特别是,我不明白&Foo的用法,它似乎是某种闭包,或者#grep的这种特定调用如何对结果进行操作。解析成语到目前为止,我已经能够解析其中的点点滴滴,但我并没有真正看到它们是如何组合在一起的。以下是我认为对示例代码的理

ruby - 我如何检查我安装的 Ruby gems 的所有依赖项是否得到满足?

我一定是遗漏了什么,因为昨晚我惊讶地发现谷歌搜索checkgemdependencies和类似的东西没有揭示这个问题的答案。我基本上是在粗略地等同于rpm-V-一个将遍历我安装的部分或所有gem并确保它们的依赖项也已安装的命令。由于geminstall默认安装任何依赖的gem,通常这不是必需的;但是,如果您gemuninstall一个gem并告诉它继续卸载,即使其他gem依赖于正在卸载的gem,那么显然您最终会破坏依赖关系。问题是,如何在不安装/卸载/更新任何gem的情况下列出那些损坏的依赖项?注意涉及Bundler的答案对我来说用处不大,因为出于各种原因我仍然停留在Rails2.x上

Ruby 元编程,RSpec 的 'should' 是如何工作的?

我正在阅读RSpec,并试图弄清楚RSpec的“应该”是如何实现的。有人可以介绍一下这个函数的元性质是如何工作的吗?代码位于:http://github.com/dchelimsky/rspec/blob/master/lib/spec/expectations/extensions/kernel.rbTIA,-丹尼尔澄清:target.should==5target的值是如何传递给“should”的,而“should”又是“==”而不是5? 最佳答案 看看classOperatorMatcher.这一切都归结为Ruby允许您省略句

ruby-on-rails - 如何检查 HTTParty 生成的完整 URL?

我想查看HTTPartygem根据我的参数构建的完整URL,无论是在提交之前还是提交之后,都没有关系。我也很乐意从响应对象中获取它,但我也看不到这样做的方法。(背景知识)我正在使用HTTPartygem为API构建包装器。它可以正常工作,但偶尔我会收到来自远程站点的意外响应,我想深入了解原因–是不是我发送的内容不正确?如果是这样,什么?我是否以某种方式使请求格式错误?查看原始URL有助于进行故障排除,但我看不出如何。例如:HTTParty.get('http://example.com/resource',query:{foo:'bar'})大概会产生:http://example.c

ruby - 检查 C 编译器是否工作...不

我最近卸载了Xcode4.2并重新安装了Xcode4.3.1。还安装了命令行工具。错误显示“C编译器不工作”。在搜索这个错误时,它说它发生在没有安装Xcode的情况下。我错过了什么?rvminstall1.9.3--with-gcc=clangInstallingRubyfromsourceto:/Users/ava/.rvm/rubies/ruby-1.9.3-preview1,thismaytakeawhiledependingonyourcpu(s)...ruby-1.9.3-preview1-#fetchingruby-1.9.3-preview1-#extractingrub

ruby - Rspec 不工作,或提高不提高?

我正在一边学习TDD,一边编写一些小的ruby​​程序。我有以下类(class):classMyDirectorydefcheck(dir_name)unlessFile.directory?(dir_name)thenraiseRuntimeError,"#{dir_name}isnotadirectory"endendend我正在尝试用这个rspec测试来测试它。describeMyDirectorydoit"shoulderrorifdoesn'texist"doone=MyDirectory.newone.check("donee").shouldraise_exception

ruby - selenium 2.4.0,如何检查是否存在警报

在使用selenium2.4.0之前,我使用了以下代码:alert=page.driver.browser.switch_to.alertifalert.text....endSelenium2.4.0包含更改“*当没有警报时在switch_to.alert中提升。”,所以我得到一个Noalertispresent(Selenium::WebDriver::Error::NoAlertOpenError)异常。如何使用selenium-web-driver2.4.0检查是否存在警报? 最佳答案 这是一个选项:driver.switc